# _*_ utf-8 _*_
# import time
from datetime import datetime
import calendar
# from datetime import timedelta
# 根据某个月的1号是周几，打印这个月的月历
# 已知7月一共31天，7月的第一天是星期二
# time.localtime()
# date = datetime(year=2021, month=4, day=1)
# print(date.weekday())
# --------------------------------
# 新增根据输入的年月，打印某个月的日历
# --------------------------------
year = int(input("请输入日历的年份："))
month = int(input("请输入日历的月份："))
date = datetime(year=year, month=month, day=1)
"""
使用calendar获得的日期，
输出的是一个元组，第一个元素是所查月份的第一天对应的是星期几（0-6），
第二个元素是这个月的天数。以上实例输出的意思为 2016 年 9 月份的第一天是星期四，该月总共有 30 天。 
"""
day_of_month = calendar.monthrange(year, month)[1]
print("{}月有{}天".format(date.month, day_of_month))

day_of_week = date.weekday() + 1

# 下面是打印，上面是计算，输入的年月，包含的天数
print("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日")
print("\t\t" * (day_of_week - 1), end="")

for date in range(1, day_of_month + 1):
    if (date + day_of_week - 1) % 7 == 0:
        print(date)
    else:
        print(date, end="\t\t")
